Micron Document
🎖️GitЯра🎖️

Node / meshcore / MeshCore / files / src / helpers / ConfigSerializer.cpp

Displaying Raw • Download

src/helpers/ConfigSerializer.cpp 890a2e2cffa98dea3ca88db3c3aba72ef23ff3f7 (890a2e2c) Text, 10.52 KB

Tff7b72#Tff7b72include T8b949e"ConfigSerializer.h"

Tffa657bool Td2a8ffConfigSerializer::saveSerialTb4b4b4(Te6edf3StreamTff7b72& Te6edf3sTb4b4b4) Tb4b4b4{
Te6edf3Context Te6edf3contextTb4b4b4(Tff7b72&Te6edf3sTb4b4b4, Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4)Tb4b4b4;
Te6edf3_context Tff7b72= Tff7b72&Te6edf3contextTb4b4b4; T8b949e// set the context for structure() call
Te6edf3sTb4b4b4.Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff{Ta5d6ff"Tb4b4b4)Tb4b4b4; T8b949e// root object
Te6edf3_first Tff7b72= Tffa657trueTb4b4b4;
Te6edf3structureTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3sTb4b4b4.Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff}Ta5d6ff"Tb4b4b4) Tff7b72!Tff7b72= T79c0ff1Tb4b4b4) Te6edf3contextTb4b4b4.Te6edf3success Tff7b72= Tffa657falseTb4b4b4; T8b949e// failure detect
Te6edf3_context Tff7b72= Tffa657NULLTb4b4b4;
Tff7b72return Te6edf3contextTb4b4b4.Te6edf3successTb4b4b4;
Tb4b4b4}

Tff7b72#Tff7b72define TOK_ERROR -1
Tff7b72#Tff7b72define TOK_EOF 0
Tff7b72#Tff7b72define TOK_KEY 1
Tff7b72#Tff7b72define TOK_VALUE 2
Tff7b72#Tff7b72define TOK_START_OBJ 3
Tff7b72#Tff7b72define TOK_END_OBJ 4
Tff7b72#Tff7b72define TOK_WHITESPACE 5

Tff7b72static Tffa657bool Td2a8ffis_whitespaceTb4b4b4(Tffa657char Te6edf3cTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff Ta5d6ff' Tff7b72|Tff7b72| Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff\tTa5d6ff' Tff7b72|Tff7b72| Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff\rTa5d6ff' Tff7b72|Tff7b72| Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff\nTa5d6ff'Tb4b4b4;
Tb4b4b4}
Tff7b72static Tffa657bool Td2a8ffis_key_charTb4b4b4(Tffa657char Te6edf3cTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3c Tff7b72>Tff7b72= Ta5d6ff'Ta5d6ffATa5d6ff' Tff7b72&Tff7b72& Te6edf3c Tff7b72<Tff7b72= Ta5d6ff'Ta5d6ffZTa5d6ff'Tb4b4b4) Tff7b72|Tff7b72| Tb4b4b4(Te6edf3c Tff7b72>Tff7b72= Ta5d6ff'Ta5d6ffaTa5d6ff' Tff7b72&Tff7b72& Te6edf3c Tff7b72<Tff7b72= Ta5d6ff'Ta5d6ffzTa5d6ff'Tb4b4b4) Tff7b72|Tff7b72| Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff_Ta5d6ff'Tb4b4b4;
Tb4b4b4}
Tff7b72static Tffa657bool Td2a8ffis_value_charTb4b4b4(Tffa657char Te6edf3cTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3c Tff7b72>Tff7b72= Ta5d6ff'Ta5d6ff0Ta5d6ff' Tff7b72&Tff7b72& Te6edf3c Tff7b72<Tff7b72= Ta5d6ff'Ta5d6ff9Ta5d6ff'Tb4b4b4) Tff7b72|Tff7b72| Tb4b4b4(Te6edf3c Tff7b72>Tff7b72= Ta5d6ff'Ta5d6ffaTa5d6ff' Tff7b72&Tff7b72& Te6edf3c Tff7b72<Tff7b72= Ta5d6ff'Ta5d6ffzTa5d6ff'Tb4b4b4) Tff7b72|Tff7b72| Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff-Ta5d6ff' Tff7b72|Tff7b72| Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff.Ta5d6ff'Tb4b4b4;
Tb4b4b4}

Tff7b72#Tff7b72define EXPECT_OPEN_BRACE 0
Tff7b72#Tff7b72define EXPECT_KEY 1
Tff7b72#Tff7b72define EXPECT_VAL_OR_OBJ 2
Tff7b72#Tff7b72define EXPECT_STRING_VAL 3
Tff7b72#Tff7b72define EXPECT_STRING_ESCAPE 4
Tff7b72#Tff7b72define EXPECT_COMMA_OR_CLOSE 5
Tff7b72#Tff7b72define EXPECT_COMMA_OR_KEY 6
Tff7b72#Tff7b72define EXPECT_COMMA_OR_KEY_OR_CLOSE 7

Tffa657int Td2a8ffConfigSerializer::Context::readNextTb4b4b4(Tb4b4b4) Tb4b4b4{
Tffa657char Te6edf3cTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3pendingTb4b4b4) Tb4b4b4{
Te6edf3c Tff7b72= Te6edf3pendingTb4b4b4;
Te6edf3pending Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_fTff7b72-Tff7b72>Te6edf3availableTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= T79c0ff0Tb4b4b4) Tff7b72return Te6edf3TOK_EOFTb4b4b4;

Tffa657int Te6edf3n Tff7b72= Te6edf3_fTff7b72-Tff7b72>Te6edf3readTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3n Tff7b72< T79c0ff0Tb4b4b4) Tff7b72return Te6edf3TOK_EOFTb4b4b4;
Te6edf3c Tff7b72= Tb4b4b4(Tffa657charTb4b4b4)Te6edf3nTb4b4b4;
Tb4b4b4}

Tff7b72switch Tb4b4b4(Te6edf3rd_modeTb4b4b4) Tb4b4b4{
Tff7b72case Tff7b72EXPECT_OPEN_BRACETb4b4b4:
Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff{Ta5d6ff'Tb4b4b4) Tb4b4b4{ Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_KEYTb4b4b4; Tff7b72return Te6edf3TOK_START_OBJTb4b4b4; Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3is_whitespaceTb4b4b4(Te6edf3cTb4b4b4)Tb4b4b4) Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4;
Tff7b72return Te6edf3TOK_ERRORTb4b4b4;

Tff7b72case Tff7b72EXPECT_COMMA_OR_KEY_OR_CLOSETb4b4b4:
Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff}Ta5d6ff'Tb4b4b4) Tb4b4b4{ Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_COMMA_OR_KEY_OR_CLOSETb4b4b4; Tff7b72return Te6edf3TOK_END_OBJTb4b4b4; Tb4b4b4}
Tff7b72case Tff7b72EXPECT_COMMA_OR_KEYTb4b4b4:
Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff,Ta5d6ff'Tb4b4b4) Tb4b4b4{ Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_KEYTb4b4b4; Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4; Tb4b4b4}
Tff7b72case Tff7b72EXPECT_KEYTb4b4b4:
Tff7b72if Tb4b4b4(Te6edf3rd_len Tff7b72> T79c0ff0 Tff7b72&Tff7b72& Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff:Ta5d6ff'Tb4b4b4) Tb4b4b4{ Te6edf3rd_bufTb4b4b4[Te6edf3rd_lenTb4b4b4] Tff7b72= T79c0ff0Tb4b4b4; Te6edf3rd_len Tff7b72= T79c0ff0Tb4b4b4; Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_VAL_OR_OBJTb4b4b4; Tff7b72return Te6edf3TOK_KEYTb4b4b4; Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3rd_len Tff7b72=Tff7b72= T79c0ff0 Tff7b72&Tff7b72& Te6edf3is_whitespaceTb4b4b4(Te6edf3cTb4b4b4)Tb4b4b4) Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3rd_len Tff7b72< Te6edf3CONFIG_MAX_KEYLENT79c0ff-1 Tff7b72&Tff7b72& Te6edf3is_key_charTb4b4b4(Te6edf3cTb4b4b4)Tb4b4b4) Tb4b4b4{ Te6edf3rd_bufTb4b4b4[Te6edf3rd_lenTff7b72+Tff7b72+Tb4b4b4] Tff7b72= Te6edf3cTb4b4b4; Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4; Tb4b4b4}
Tff7b72return Te6edf3TOK_ERRORTb4b4b4;

Tff7b72case Tff7b72EXPECT_VAL_OR_OBJTb4b4b4:
Tff7b72if Tb4b4b4(Te6edf3rd_len Tff7b72=Tff7b72= T79c0ff0 Tff7b72&Tff7b72& Te6edf3is_whitespaceTb4b4b4(Te6edf3cTb4b4b4)Tb4b4b4) Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3rd_len Tff7b72=Tff7b72= T79c0ff0 Tff7b72&Tff7b72& Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff"Ta5d6ff'Tb4b4b4) Tb4b4b4{ Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_STRING_VALTb4b4b4; Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4; Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3rd_len Tff7b72=Tff7b72= T79c0ff0 Tff7b72&Tff7b72& Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff{Ta5d6ff'Tb4b4b4) Tb4b4b4{ Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_KEYTb4b4b4; Tff7b72return Te6edf3TOK_START_OBJTb4b4b4; Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3is_value_charTb4b4b4(Te6edf3cTb4b4b4) Tff7b72&Tff7b72& Te6edf3rd_len Tff7b72< Te6edf3CONFIG_MAX_TOKEN_LENT79c0ff-1Tb4b4b4) Tb4b4b4{ Te6edf3rd_bufTb4b4b4[Te6edf3rd_lenTff7b72+Tff7b72+Tb4b4b4] Tff7b72= Te6edf3cTb4b4b4; Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4; Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3rd_len Tff7b72> T79c0ff0 Tff7b72&Tff7b72& Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff,Ta5d6ff' Tff7b72|Tff7b72| Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff}Ta5d6ff' Tff7b72|Tff7b72| Te6edf3is_whitespaceTb4b4b4(Te6edf3cTb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{ Te6edf3pending Tff7b72= Te6edf3cTb4b4b4; Te6edf3rd_bufTb4b4b4[Te6edf3rd_lenTb4b4b4] Tff7b72= T79c0ff0Tb4b4b4; Te6edf3rd_len Tff7b72= T79c0ff0Tb4b4b4; Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_COMMA_OR_CLOSETb4b4b4; Tff7b72return Te6edf3TOK_VALUETb4b4b4; Tb4b4b4}
Tff7b72return Te6edf3TOK_ERRORTb4b4b4;

Tff7b72case Tff7b72EXPECT_STRING_ESCAPETb4b4b4:
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ffnTa5d6ff'Tb4b4b4) Tff7b72&Tff7b72& Te6edf3rd_len Tff7b72< Te6edf3CONFIG_MAX_TOKEN_LENT79c0ff-1Tb4b4b4) Tb4b4b4{ Te6edf3rd_bufTb4b4b4[Te6edf3rd_lenTff7b72+Tff7b72+Tb4b4b4] Tff7b72= Ta5d6ff'Ta5d6ff\nTa5d6ff'Tb4b4b4; Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_STRING_VALTb4b4b4; Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4; Tb4b4b4}
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ffrTa5d6ff'Tb4b4b4) Tff7b72&Tff7b72& Te6edf3rd_len Tff7b72< Te6edf3CONFIG_MAX_TOKEN_LENT79c0ff-1Tb4b4b4) Tb4b4b4{ Te6edf3rd_bufTb4b4b4[Te6edf3rd_lenTff7b72+Tff7b72+Tb4b4b4] Tff7b72= Ta5d6ff'Ta5d6ff\rTa5d6ff'Tb4b4b4; Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_STRING_VALTb4b4b4; Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4; Tb4b4b4}
Tff7b72if Tb4b4b4(Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff"Ta5d6ff' Tff7b72|Tff7b72| Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff\\Ta5d6ff' Tff7b72|Tff7b72| Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff/Ta5d6ff'Tb4b4b4) Tff7b72&Tff7b72& Te6edf3rd_len Tff7b72< Te6edf3CONFIG_MAX_TOKEN_LENT79c0ff-1Tb4b4b4) Tb4b4b4{ Te6edf3rd_bufTb4b4b4[Te6edf3rd_lenTff7b72+Tff7b72+Tb4b4b4] Tff7b72= Te6edf3cTb4b4b4; Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_STRING_VALTb4b4b4; Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4; Tb4b4b4}
Tff7b72return Te6edf3TOK_ERRORTb4b4b4; T8b949e// unsupport escape

Tff7b72case Tff7b72EXPECT_STRING_VALTb4b4b4:
Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff"Ta5d6ff'Tb4b4b4) Tb4b4b4{ Te6edf3rd_bufTb4b4b4[Te6edf3rd_lenTb4b4b4] Tff7b72= T79c0ff0Tb4b4b4; Te6edf3rd_len Tff7b72= T79c0ff0Tb4b4b4; Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_COMMA_OR_CLOSETb4b4b4; Tff7b72return Te6edf3TOK_VALUETb4b4b4; Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff\\Ta5d6ff'Tb4b4b4) Tb4b4b4{ Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_STRING_ESCAPETb4b4b4; Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4; Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3rd_len Tff7b72< Te6edf3CONFIG_MAX_TOKEN_LENT79c0ff-1Tb4b4b4) Tb4b4b4{ Te6edf3rd_bufTb4b4b4[Te6edf3rd_lenTff7b72+Tff7b72+Tb4b4b4] Tff7b72= Te6edf3cTb4b4b4; Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4; Tb4b4b4}
Tff7b72return Te6edf3TOK_ERRORTb4b4b4;

Tff7b72case Tff7b72EXPECT_COMMA_OR_CLOSETb4b4b4:
Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff,Ta5d6ff'Tb4b4b4) Tb4b4b4{ Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_KEYTb4b4b4; Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4; Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff}Ta5d6ff'Tb4b4b4) Tb4b4b4{ Te6edf3rd_mode Tff7b72= Te6edf3EXPECT_COMMA_OR_KEY_OR_CLOSETb4b4b4; Tff7b72return Te6edf3TOK_END_OBJTb4b4b4; Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3is_whitespaceTb4b4b4(Te6edf3cTb4b4b4)Tb4b4b4) Tff7b72return Te6edf3TOK_WHITESPACETb4b4b4;
Tff7b72return Te6edf3TOK_ERRORTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3TOK_ERRORTb4b4b4; T8b949e// unknown mode
Tb4b4b4}

Tffa657bool Td2a8ffConfigSerializer::loadSerialTb4b4b4(Te6edf3StreamTff7b72& Te6edf3sTb4b4b4) Tb4b4b4{
Te6edf3Context Te6edf3contextTb4b4b4(Tff7b72&Te6edf3sTb4b4b4, Te6edf3OPTff7b72:Tff7b72:Te6edf3READTb4b4b4)Tb4b4b4;
Te6edf3_context Tff7b72= Tff7b72&Te6edf3contextTb4b4b4; T8b949e// set the context for structure() call
Tffa657uint8_t Te6edf3sp Tff7b72= T79c0ff0Tb4b4b4; T8b949e// object nesting stack pointer
Tffa657int Te6edf3next_tokTb4b4b4;

T8b949e// parse the Json file
Tff7b72while Tb4b4b4(Tb4b4b4(Te6edf3next_tok Tff7b72= Te6edf3contextTb4b4b4.Te6edf3readNextTb4b4b4(Tb4b4b4)Tb4b4b4) Tff7b72> Te6edf3TOK_EOFTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3next_tok Tff7b72=Tff7b72= Te6edf3TOK_KEYTb4b4b4) Tb4b4b4{
Te6edf3contextTb4b4b4.Te6edf3setKeyTb4b4b4(Te6edf3spTb4b4b4, Te6edf3contextTb4b4b4.Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3next_tok Tff7b72=Tff7b72= Te6edf3TOK_VALUETb4b4b4) Tb4b4b4{
Te6edf3_depth Tff7b72= T79c0ff1Tb4b4b4; T8b949e// re-run the structure() hierarchy again (looking for specific key, at specific depth)
Te6edf3structureTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3next_tok Tff7b72=Tff7b72= Te6edf3TOK_START_OBJTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3sp Tff7b72< Te6edf3CONFIG_MAX_DEPTH Tff7b72- T79c0ff1Tb4b4b4) Tb4b4b4{
Te6edf3spTff7b72+Tff7b72+Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e//Serial.printf("Error: max nesting reached"); // TODO: debug logging
Te6edf3contextTb4b4b4.Te6edf3success Tff7b72= Tffa657falseTb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3next_tok Tff7b72=Tff7b72= Te6edf3TOK_END_OBJTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3sp Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3spTff7b72-Tff7b72-Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
T8b949e//Serial.printf("Error: too many closing '}'"); // TODO: debug logging
Te6edf3contextTb4b4b4.Te6edf3success Tff7b72= Tffa657falseTb4b4b4;
Tff7b72breakTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3sp Tff7b72!Tff7b72= T79c0ff0 Tff7b72|Tff7b72| Te6edf3next_tok Tff7b72=Tff7b72= Te6edf3TOK_ERRORTb4b4b4) Tb4b4b4{
Te6edf3contextTb4b4b4.Te6edf3success Tff7b72= Tffa657falseTb4b4b4; T8b949e// unmatched { }, or other parse error
Tb4b4b4}
Te6edf3_context Tff7b72= Tffa657NULLTb4b4b4;
Tff7b72return Te6edf3contextTb4b4b4.Te6edf3successTb4b4b4;
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::writeCommaTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_firstTb4b4b4) Tb4b4b4{
Te6edf3_first Tff7b72= Tffa657falseTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff,Ta5d6ff"Tb4b4b4)Tb4b4b4; T8b949e// comma separated properties
Tb4b4b4}
Tb4b4b4}

Tff7b72#Tff7b72include T8b949e<Utils.h>

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Tffa657voidTff7b72* Te6edf3valueTb4b4b4, Tffa657size_t Te6edf3lenTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:Tffea00\"Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3meshTff7b72:Tff7b72:Te6edf3UtilsTff7b72:Tff7b72:Te6edf3printHexTb4b4b4(Tff7b72*Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tb4b4b4, Tb4b4b4(Tffa657uint8_tTff7b72*Tb4b4b4) Te6edf3valueTb4b4b4, Te6edf3lenTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Tffea00\"Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3memsetTb4b4b4(Te6edf3valueTb4b4b4, T79c0ff0Tb4b4b4, Te6edf3lenTb4b4b4)Tb4b4b4;
Te6edf3meshTff7b72:Tff7b72:Te6edf3UtilsTff7b72:Tff7b72:Te6edf3fromHexTb4b4b4(Tb4b4b4(Tffa657uint8_t Tff7b72*Tb4b4b4)Te6edf3valueTb4b4b4, Te6edf3lenTb4b4b4, Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Tffa657charTff7b72* Te6edf3valueTb4b4b4, Tffa657size_t Te6edf3max_lenTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:Tffea00\"Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tffa657char Te6edf3cTb4b4b4;
Tff7b72while Tb4b4b4(Tb4b4b4(Te6edf3c Tff7b72= Tff7b72*Te6edf3valueTff7b72+Tff7b72+Tb4b4b4) Tff7b72!Tff7b72= T79c0ff0Tb4b4b4) Tb4b4b4{ T8b949e// TODO: handle UTF-8 encoding
Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff"Ta5d6ff'Tb4b4b4) Tb4b4b4{
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Tffea00\\Tffea00\"Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff\\Ta5d6ff'Tb4b4b4) Tb4b4b4{
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Tffea00\\Tffea00\\Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff\nTa5d6ff'Tb4b4b4) Tb4b4b4{
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Tffea00\\Ta5d6ffnTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3c Tff7b72=Tff7b72= Ta5d6ff'Ta5d6ff\rTa5d6ff'Tb4b4b4) Tb4b4b4{
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Tffea00\\Ta5d6ffrTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3cTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Tffea00\"Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3strncpyTb4b4b4(Te6edf3valueTb4b4b4, Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3max_len Tff7b72- T79c0ff1Tb4b4b4)Tb4b4b4;
Te6edf3valueTb4b4b4[Te6edf3max_len Tff7b72- T79c0ff1Tb4b4b4] Tff7b72= T79c0ff0Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Tffa657int32_tTff7b72& Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3valueTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3value Tff7b72= Te6edf3atolTb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Tffa657uint32_tTff7b72& Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3valueTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3value Tff7b72= Te6edf3atolTb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Tffa657int16_tTff7b72& Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Tb4b4b4(Tffa657int32_tTb4b4b4) Te6edf3valueTb4b4b4, T79c0ff10Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3value Tff7b72= Te6edf3atolTb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Tffa657uint16_tTff7b72& Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Tb4b4b4(Tffa657uint32_tTb4b4b4) Te6edf3valueTb4b4b4, T79c0ff10Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3value Tff7b72= Te6edf3atoiTb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Tffa657uint8_tTff7b72& Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Tb4b4b4(Tffa657uint32_tTb4b4b4) Te6edf3valueTb4b4b4, T79c0ff10Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3value Tff7b72= Te6edf3atoiTb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Tffa657int8_tTff7b72& Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Tb4b4b4(Tffa657int32_tTb4b4b4) Te6edf3valueTb4b4b4, T79c0ff10Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3value Tff7b72= Te6edf3atoiTb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Tffa657boolTff7b72& Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3value Tff7b72? Ta5d6ff"Ta5d6fftrueTa5d6ff" Tff7b72: Ta5d6ff"Ta5d6fffalseTa5d6ff"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3value Tff7b72= Te6edf3strcmpTb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4, Ta5d6ff"Ta5d6fftrueTa5d6ff"Tb4b4b4) Tff7b72=Tff7b72= T79c0ff0 Tff7b72|Tff7b72| Te6edf3atoiTb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4) Tff7b72!Tff7b72= T79c0ff0Tb4b4b4; T8b949e// 'true' or a non-zero number
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Tffa657doubleTff7b72& Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3value Tff7b72=Tff7b72= T79c0ff0.0Tb4b4b4) Tb4b4b4{
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff0Ta5d6ff"Tb4b4b4)Tb4b4b4; T8b949e// shorter encoding
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3valueTb4b4b4, T79c0ff6Tb4b4b4)Tb4b4b4; T8b949e// REVISIT: how many dec places?
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3value Tff7b72= Te6edf3atofTb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Tffa657floatTff7b72& Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:Ta5d6ff"Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3value Tff7b72=Tff7b72= T79c0ff0.0fTb4b4b4) Tb4b4b4{
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff0Ta5d6ff"Tb4b4b4)Tb4b4b4; T8b949e// shorter encoding
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3valueTb4b4b4, T79c0ff4Tb4b4b4)Tb4b4b4; T8b949e// REVISIT: how many dec places?
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3value Tff7b72= Tb4b4b4(Tffa657floatTb4b4b4) Te6edf3atofTb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3getTokenTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tffa657void Td2a8ffConfigSerializer::defTb4b4b4(Tff7b72const Tffa657charTff7b72* Te6edf3keyTb4b4b4, Te6edf3ConfigSerializerTff7b72& Te6edf3sub_objTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3opTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3OPTff7b72:Tff7b72:Te6edf3WRITETb4b4b4) Tb4b4b4{
Te6edf3writeCommaTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff:{Ta5d6ff"Tb4b4b4)Tb4b4b4;
Te6edf3sub_objTb4b4b4.Te6edf3_context Tff7b72= Te6edf3_contextTb4b4b4; T8b949e// inherit the Context
Te6edf3sub_objTb4b4b4.Te6edf3_first Tff7b72= Tffa657trueTb4b4b4;
Te6edf3sub_objTb4b4b4.Te6edf3structureTb4b4b4(Tb4b4b4)Tb4b4b4; T8b949e// recurse into sub object
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3fileTb4b4b4(Tb4b4b4)Tff7b72-Tff7b72>Te6edf3printTb4b4b4(Ta5d6ff"Ta5d6ff}Ta5d6ff"Tb4b4b4) Tff7b72!Tff7b72= T79c0ff1Tb4b4b4) Te6edf3_contextTff7b72-Tff7b72>Te6edf3success Tff7b72= Tffa657falseTb4b4b4; T8b949e// failure detect
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3_contextTff7b72-Tff7b72>Te6edf3keyMatchTb4b4b4(Te6edf3_depthTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3sub_objTb4b4b4.Te6edf3_context Tff7b72= Te6edf3_contextTb4b4b4; T8b949e// inherit the Context
Te6edf3sub_objTb4b4b4.Te6edf3_depth Tff7b72= Te6edf3_depth Tff7b72+ T79c0ff1Tb4b4b4;
Te6edf3sub_objTb4b4b4.Te6edf3structureTb4b4b4(Tb4b4b4)Tb4b4b4; T8b949e// recurse into sub object
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Served by rngit 1.5.0 - Generated in 0.16s